1. Field of the Invention
The present invention relates to the field of distributed computer resources over a wide area network such as the Internet.
2. Description of Related Art
Internet Service Providers provide access to a vast array of nodes or sites, with each site connected to at least one other site, and each site potentially having data of interest to another site. Typically sites are connected to multiple sites, thus there may be numerous routes for communicating between any two sites. While this provides a certain degree of redundancy that is helpful because the loss of a single site will generally not prevent two other sites from communicating, it also causes several problems. First, information may be provided over a route of a series of sites that is not the shortest path or the most efficient route between the start and end points. Second, as the various sites can communication with the other sites on the network, it is easy for a number of sites to access a particular site and cause a sudden jump in traffic at that site.
To route the traffic over the Internet, one common method is to use the domain name system (“DNS”). DNS also refers to domain name server, thus a DNS could be a domain name system or a domain name server, depending on the context. When a client wants to access an Internet site, it first needs to resolve the site's DNS name into an Internet Protocol (“IP”) address. To do so, the client sends a DNS query to a local DNS server (LDNS) the client is configured to use for this purpose, and the LDNS forwards the query to an authoritative DNS. The authoritative DNS then performs request distribution by selecting the IP address of an appropriate server to return to the LDNS and ultimately to the client. The client then communicates with the appropriate server.
As noted above, the vast spread of the Internet potentially exposes any site to an almost unlimited number of clients. This potential exposure has created a difficult resource provisioning challenge for Internet site (or service) operators. Often, historical usage patterns are used to determine the capacity that should be reserved for a site, however, historical usage patterns often fail to predict sudden spikes in traffic. These sudden surges of demand for the site can cause the site to crash or be otherwise unavailable; therefore, relying on historical usage patterns to determine the resources that should be reserved for a particular Internet site is unreliable.
Therefore, selecting the amount of resources to be allocated for an Internet application is a calculated risk. This is because provisioning for the highest load leaves the resources idle most of the time, while provisioning for the typical load leads to missed opportunities for the site. For example, provisioning an electronic book store for its typical demand would cause the store to miss out on a buying frenzy that might accompany a major best-seller such as an installment of a HARRY POTTER novel. On the other hand, provisioning enough resources for the HARRY POTTER event would make for a wasted investment most of the time.
While the above issues are known and have been addressed with varying degrees of success with respect to static Internet pages, the problem is more significant when attempting to provide resources for Internet applications. Internet applications are distinguishable from static and dynamic Web pages in that the main value of the Internet application is not the information provided by the transaction, such as a transaction confirmation, but rather the side effect of the transaction—such as the purchase of a good or service. Traditional methods used to optimize delivery of content for static and dynamic Web pages are less suitable to addressing the needs of Internet applications. Therefore, something is needed to address some of the problems encountered when providing Internet applications.